【Python】json模块解析带单引号的json字符串 您所在的位置:网站首页 python 去除字符串的引号 【Python】json模块解析带单引号的json字符串

【Python】json模块解析带单引号的json字符串

2024-06-30 15:09| 来源: 网络整理| 查看: 265

问题

python解析json时,可以用json.loads(str)来处理,但是如果json的key或者value是单引号包围,则json.loads就会报错,解决方法如下

方法一

将单引号替换为双引号

s = "'key':'value'" s = s.replace('\'','\"') js = json.loads(json.dumps(eval(s))) 方法二 js = json.loads(json.dumps(eval(s)))

解析: eval函数是一个很智能的函数,可以将字符串中内容包含的类型转换成那个类型,比如:

a = "[[1,2], [3,4], [5,6], [7,8], [9,0]]" print(type(a)) b = eval(a) print(type(b)) # list print(b) #[[1,2], [3,4], [5,6], [7,8], [9,0]]

a是一个字符串,但是字符串里是一个list,eval之后就变成了一个list,同理,dict、json、tuple等结构可以用此类方法。

因此,在这里,eval是先将字符串转化为字典对象,然后json.dumps是将字典对象转换为json对象,json.loads又将json对象变为字典对象,所以其实可以直接eval(s)即可。

参考:https://blog.csdn.net/cc695906217/article/details/84238727



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有